
// 连上 
// 1.引入mongoose 
const mongoose = require('mongoose');

// 2.连接数据库
// mongodb://127.0.0.1:27017/数据库名
mongoose.connect('mongodb://127.0.0.1:27017/panpan', {useNewUrlParser: true, useUnifiedTopology: true});

// 3 建模  
// 3.1 创建一个模型
const user = new mongoose.Schema({
    nickname: String,
    age: Number,
    create_time: {
        type: Date,
        // 默认值
        default: new Date()
    },
    password:{
        type: String,
        required: true
    },
    hobby:Array,
    gender:{
        type: String,
        enum: ['男','女','说不好']
    }

})


// 利用建好的模型创建一个遥控器  
// 将建好的user模型映射到数据库中的集合  名字叫user
const usermodel = mongoose.model('user',user);

// usermodel 跟promise的语法一样 有then和catch
//插入一条数据
// new usermodel({
//     nickname: '小明',
//     age: 18,
//     password: '123456',
//     hobby: ['吃饭','睡觉','打豆豆'],
//     gender: '男'
// })
// .save()
// .then((data)=>{
//     console.log('存储数据成功',data);
// })
// .catch((err)=>{
//     console.log('存储数据失败',err);
// })



// 批量插入数据  

const fn = (a,b)=> Math.floor(Math.random()*(b-a+1)+a);

const s1 = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄'
const s2 = '一二三四五六七八九十'
const s3 = ['男','女','说不好']

for(let i=0;i<1555;i++){
    const info = {
        nickname: s1[fn(0,s1.length-1)]+s2[fn(0,s2.length-1)]+s2[fn(0,s2.length-1)],
        age: fn(18,60),
        password : fn(100000,999999)+'',
        hobby: ['吃饭','睡觉','打豆豆'],
        gender: s3[fn(0,s3.length-1)]
    }

    new usermodel(info).save().then(res=>console.log('ok')).catch((err)=>{console.log('err',err)})
}
